import bridge from './bridge-webview';
import _ from 'lodash';
import { router } from '../router';
import { platForms } from './auth';

// 注册原生方法
export function commonRegister(name, cb) {
    bridge.registerHandler(name, function (data, responseCallback) {
        cb(data, responseCallback)
    })
}

// 结束下拉刷新
export function endPullDown() {
    bridge.callHandler('endPullDown');
}

// 调摄像头
export function setCamera() {
    let approvalPromise;
    approvalPromise = new Promise((resolve, reject) => {
        bridge.callHandler('setCamera', data => {
            if (!data) {
                reject();
            } else {
                resolve(data);
            }
        });

    })
    return approvalPromise;
}

/**
 * 公共监听 跳转
 * @param {标题} title
 * @param {路由路径} url
 * @param {是否可以上拉刷新} pullDown
 * @param {导航栏右部是否有图标或者文字按钮} toolsWay
 * 图标按钮
    [{
        icon: 'icon-*', // 图片标识
        type: 1, // 图片按钮类型
        func: 'function' // 点击时call方法名
      }, {
        text: '发表', // 文字按钮
        type: 2, // 文字按钮类型
        func: 'function' // 点击时call方法名
    }]
 */
export function newWindow(options = {}) {
    if (options.url) {
        if (platForms.isMobile()) {
            let defaultOptions = {
                title: '',
                url: '',
                pullDown: false,
                toolsWay: [],
            }
            _.assign(defaultOptions, options)
            console.log('1======' + new Date().getTime());
            router.push(options.url) // router 测试用
            bridge.callHandler('newWindow', defaultOptions)
        } else {
            router.push(options.url)
        }
    }
}